package com.penghaisoft.microwms.product.service.impl;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.penghaisoft.microwms.common.dto.Resp;
import com.penghaisoft.microwms.common.page.Pager;
import com.penghaisoft.microwms.common.service.BaseService;
import com.penghaisoft.microwms.common.wms.model.ProHandInSn;
import com.penghaisoft.microwms.product.dao.ProHandInSnMapper;
import com.penghaisoft.microwms.product.service.IProHandInSnService;

/**
 * @Description 成品手工入库明细表
 * @author luoteng
 * @date 2018年6月12日 下午3:12:41
 * @version 1.0
 */
@Service("proHandInSnService")
public class ProHandInSnServiceImpl extends BaseService implements
		IProHandInSnService {
	@Resource
	private ProHandInSnMapper proHandInSnMapper;

	/**
	 * 新增记录
	 * 
	 * @param baseResource
	 * @return
	 */
	@Override
	public Resp create(ProHandInSn proHandInSn) {
		proHandInSnMapper.create(proHandInSn);
		return success();
	}

	/**
	 * 删除记录（逻辑删除）
	 * 
	 * @param baseResource
	 * @return
	 */
	@Override
	public Resp delete(ProHandInSn proHandInSn) {
		proHandInSnMapper.delete(proHandInSn);
		return success();
	}

	/**
	 * 查询列表
	 * 
	 * @param pager
	 * @param baseResource
	 * @return
	 */
	@Override
	public Pager<ProHandInSn> findListByCondition(int page, int rows,
			ProHandInSn condition) {
		Pager<ProHandInSn> pager = new Pager<>();
		pager.setPage(page);
		pager.setRows(rows);
		condition.preQuery();
		long size = proHandInSnMapper.queryCount(condition);
		List<ProHandInSn> records = new ArrayList<ProHandInSn>();
		if (size > 0) {
			records = proHandInSnMapper.queryList(pager, condition);
		}
		pager.setRecords(records);
		pager.setTotalCount(size);
		return pager;
	}

	/**
	 * 查询单条
	 * 
	 * @param id
	 * @return
	 */
	@Override
	public ProHandInSn findById(String id) {
		return proHandInSnMapper.queryById(id);
	}

	/**
	 * 修改记录
	 * 
	 * @param baseResource
	 * @return
	 */
	@Override
	public Resp update(ProHandInSn proHandInSn) {
		proHandInSnMapper.updateBySelect(proHandInSn);
		return success();
	}

}
